--------------------------------------------- TurboCAD v4.1 READ ME - ENABLE BASIC --------------------------------------------- --------------------------------------------- 1. INTRODUCTION --------------------------------------------- Thank you for purchasing TurboCAD v4.1 or TurboCAD v4.1 Professional. We at IMSI are sure that you will find TurboCAD to be an invaluable resource for your day-to-day drawing needs. Please review this Enable Basic README document which contains late breaking information, information not included in the printed documentation, or corrections to the current documentation. --------------------------------------------- 2. FEATURES FIXED IN THE MAINTENANCE RELEASE --------------------------------------------- TCWLayerCreate now accepts a color. TCWLayerPropertySet now correctly sets colors in the range 0 - FFh (shades of red). This would previously be interpreted as a short integer, report ‘Argument(s) are invalid’ and set the color to black. TCWAppPropertySet, TCWDrawingPropertySet, and TCWGraphicPropertySet These features now correctly accept doubles instead of requiring their conversion to long integers. Previously, setting ‘PenWidth’, for example, would round 0.3 to 0 and 0.5 to 1. --------------------------------------------- 3. ADDENDA: Programming TurboCAD with Enable BASIC --------------------------------------------- Page 48, keyword TCWBasicRun Return value: None The return value should be: 0 if no errors. Non-zero if errors, use TCWLastErrorGet to retrieve error string. --------------------------------------------- Page 55, keyword TCWDrawingSaveAs Input Parameters: String drawingname Add: Boolean SaveSelection. If the value is set to true, it will save only selected objects. If the value is set to false, it will save the entire drawing. Example: result = TCWDrawingSaveAs (‘newdrawing.tcw’, false) WARNING, This will overwrite the target file with no confirmation. --------------------------------------------- Page 64, Keyword TCWSelectionCount See Also: TCWSelection Should read: TCWSelectionAt --------------------------------------------- Page 76, keyword: TCWLineParallel ‘This function will draw a (double) line parallel to an existing line, at a specified distance from the line.’ Should read: ‘This function will draw a (double) line parallel to an existing line, at a specified point.’ --------------------------------------------- Page 82, keyword: TCWDoubleLineParallel ‘This function will draw a (double) line parallel to an existing line, at a specified distance from the line.’ Should read: ‘This function will draw a (double) line parallel to an existing line, at a specified point.’ --------------------------------------------- Page 99, keyword: TCWDrawingPropertySet, Input Parameters ‘Layer’ layer id as an Integer Add the following text: ...or layername as a string --------------------------------------------- Page 110, keyword: TCWGraphicPropertyGet, Input Parameters ‘BrushDrawMode’ brush drawing mode as an Integer Should read: 0 if Alternate or none, 1 if Winding. ‘PenStyle’ pen style as Integer Should read: pen style as String (i.e. ‘CONTINUOUS’, ‘DASHDOT’, ‘BYLAYER’, ‘BYBLOCK’) --------------------------------------------- Page 111, keyword TCWGraphicPropertyGet, Input Parameters ‘Closed’ Closed flag as Long (READ ONLY) Add the following text: 1 = closed, 0 = open ‘Kind’ graphic type as long (READ ONLY) Add the following value list: GK_GRAPHIC &H0B - 11 decimal GK_ARC &H02 GK_TEXT &H06 GK_DATA &H0E GK_OLEITEM &H0F GK_EED &H10 GK_INSERT &H11 GK_ROOT &H01 GK_3DMESH &H03 GK_SURFACE &H12 GK_VIEWPORT &H04 Return value: ‘BrushStyle’ (Double) Should read: (String) ‘Layer’ (Integer) Should read: (String) ‘PenStyle’ (Integer) Should read: (String) ‘Selected’ -1 if selected, 0 if not (Long) Should read: 1 if selected, 0 if not (Long) --------------------------------------------- Page 126, keyword TCWLayersAt, Input Parameters None Should be: Long Index --------------------------------------------- Page 128, keyword TCWLayerPropertyGet, Input Parameters Long layer layer id returned from TCWLayerAt Should read: TCWLayersAt --------------------------------------------- Page 134, keyword TCWGetPoint, Return Value Add the following text: Returns &H80004005 (2147500037 decimal) if user clicks the Cancel button. --------------------------------------------- Page 138, keywords Data Types Variable Type Specifier --------------------------------- String & Should be: $ --------------------------------------------- Page 140, keyword Relational Operators Operator Function -------------------------------- =6 Equals Should be: = --------------------------------------------- Page 141, keywords ByRef and ByVal Add the following after the list of reserved words: ByRef and ByVal ByRef gives other subroutines and functions the permission to make changes to variables that are passed as parameters. The keyword ByVal denies this permission and the parameters cannot be reassigned outside their local procedure. ByRef is the Enable default and does not need to be use explicitly. Because ByRef is the default, all variables passed to other functions or subroutines can be changed. There is only one exception to this. The exception is to use the ByVal keyword to protect the variable, or use parentheses that indicate the variable is ByVal. For example: SubOne var1, var2, (var3) The parameter var3 in this case is passed by value and cannot be changed by the subroutine SubOne. Function R (X As String, ByVal n As Integer) The function R is receiving two parameters X and n. Parameter n is passed by value and cannot be changed from within the function R. --------------------------------------------- Page 158, keywords Dim Statement Add the following text: See also: Public Statement --------------------------------------------- Page 203, keyword Rem Statement Above the Rem Statement, add the following: Public Statement Public variablename[(subscripts)] [ As Type] [, name [As Type]] Allocates storage for and declares the datatype of public variables and arrays. These are available to all Functions and Sub procedures throughout the script file. --------------------------------------------- Page 210, keyword SendKeys Function Below the Example add the following text: Precede the character with combinations of ‘+’ for Shift, ‘^’ for Ctrl, and ‘%’ for Alt.